<?php

$a = '1';
// 输出字符串
echo $a;
echo "<hr>";

$a = "11";
echo $a;
echo "<hr>";

$A = 2;
echo $A;
echo "<hr>";

// 变量赋值, 值赋值
$B =  &$A;  //把$A的内存空间地址赋值给$B
echo $B;
echo "<hr>";

$B = 22;
echo $A;
echo "<hr>";
echo $B;
echo "<hr>";

// 包括表达式的类型与值。数组将递归展开值
var_dump($_SERVER);
echo "<hr>";

//当前运行脚本所在的服务器的主机名
echo $_SERVER['SERVER_NAME'];
echo "<hr>";

//URL的路径部份
echo $_SERVER['REQUEST_URI'];
echo "<hr>";

//操作系统和浏览器的有关信息
echo $_SERVER['HTTP_USER_AGENT'];
echo "<hr>";

// $_GET   该变量包含使用 GET 方法传递的参数的有关信息;
var_dump($_GET);
echo "<hr>";

// 常量的定义  define()函数定义;
define('PI', '3.1415');
echo PI;
echo "<hr>";

// PHP所在的操作系统的名字
echo PHP_OS;
echo "<hr>";

// 当前 PHP 的版本
echo PHP_VERSION;
echo "<hr>";

// __FILE__  文件的完整路径和文件名;
echo __FILE__;
echo "<hr>";


echo "日期函数";
echo "<hr>";
// abs() 函数返回一个数的绝对值
// var_dump(abs('-123'));
// echo "<hr>";

echo abs(-3.6689) . "<hr>";
echo abs(-0) . "<hr>";
echo abs('-0.33') . "<hr>";
echo abs('-01a.33') . "<hr>";
echo abs('-a1.33') . "<hr>";
echo "<br>";

// ceil() 函数向上舍入为最接近的整数。
// var_dump(ceil('1.01'));
// echo "<hr>";

echo ceil(-7.004) . "<hr>";
echo ceil(-0.95) . "<hr>";
echo ceil(0.95) . "<hr>";
echo ceil('-0.33a') . "<hr>";
echo ceil('-5') . "<hr>";
echo "<br>";

// floor() 函数向下舍入为最接近的整数。
// var_dump(floor('1.01'));
// echo "<hr>";

echo floor(-7.004) . "<hr>";
echo floor(-0.95) . "<hr>";
echo floor(0.95) . "<hr>";
echo floor('-0.33a') . "<hr>";
echo floor('-5') . "<hr>";
echo "<br>";

// mt_rand() 使用 Mersenne Twister 算法返回随机整数。
echo  mt_rand(1, 10). "<hr>";

// rand() 算法返回随机整数。
echo  rand(1, 10). "<hr>";

// random_int随机获取整数
echo  random_int(1, 10). "<hr>";
echo "<br>";

// round() 函数对浮点数进行四舍五入。
// var_dump(round((1.4555)));
// exit;

echo round(-7.004) . "<hr>";
echo round(-4.5) . "<hr>";
echo round(4.5) . "<hr>";
echo round('0.36a') . "<hr>";
echo round('-5.95') . "<hr>";

echo "日期";
echo "<hr>";
// 设置在脚本中所有的日期/时间函数的默认时区。
date_default_timezone_set('PRC'); // 设置为中国时区

//time()函数返回当前时间的unix时间戳，到当前时间的秒数。
echo time() . "<hr>";

//date() 函数格式化一个本地时间/日期。
echo date('Y-m-d H:i:s') . "<hr>";

//strtotime() 将任何英文文本的日期时间描述解析为 Unix 时间戳。
echo strtotime('2025-07-01') . "<hr>";

// 数组
echo "数组";
echo "<hr>";
// 索引可以是整型数字或者是字符串
// 索引数组：索引为整数，如果没有指定索引值则默认为零，依次递增。
// 关联数组：索引为字符串的数组
$arr = ['a','b','c','d','e'];
var_dump($arr);
echo "<hr>";

// 获取数组的值，通过索引值
echo $arr[0] . "<hr>";

//关联数组
$arr1 = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry'];
var_dump($arr1);
echo "<hr>";

// 获取数组的值，通过索引值
echo $arr1['a'] . "<hr>";


// 创建数组array
$arr2 = array('a', 'b', 'c', 'd', 'e');
var_dump($arr2);
echo "<hr>";

// 使用函数创建数组，range（）创建一个包含指定范围的数组
$arr3 = range(1, 10);
var_dump($arr3);
echo "<hr>";

$str = 'helloworld';
echo substr($str, -2, 3) . "<hr>"; // 截取字符串

var_dump(intdiv(2,1));echo "<hr/>";
var_dump(intdiv(5,10));echo "<hr/>";
var_dump(intdiv(-6,3));echo "<hr/>";
var_dump(intdiv(-18,-3));echo "<hr/>";